package com.azt.provider.mapper;

import com.azt.api.pojo.Content;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;
import java.util.Map;

public interface ContentMapper extends Mapper<Content> {

	List<Content> findIndexNews(@Param("code") String code, @Param("pageSize") int pageSize);

	List<Content> findHotTips(@Param("code") String code, @Param("pageSize") int pageSize);

	List<Content> findHotRead();

	/** 
	 * @Title: searchContent 
	 * @Description: 查询方法 
	 * @param params
	 * @return
	 * @return: List<Content>
	 * @author: Snowler 2016年9月9日 上午10:33:39 
	 */
	List<Content> searchContent(Map<String , String> params);
	
	/** 
	 * @Title: getIdsByPid 
	 * @Description: 根据pid获取ids
	 * @param pid
	 * @return
	 * @return: List<Integer>
	 * @author: Snowler 2016年9月9日 下午1:33:29 
	 */
	List<Integer> getIdsByChannleId(Integer pid);
	
	/**
	 * 根绝title模糊查询content
	 * @Title: selectContentByTitle 
	 * @Description: TODO
	 * @param content
	 * @return
	 * @return: List<Content>
	 * @author: zhoudongdong 2017年1月9日 上午10:16:38
	 */
	List<Content> selectContentByTitle(String content);
	
	/**
	 * 查询content
	 * @Title: selectContentById 
	 * @Description: TODO
	 * @param cid
	 * @return
	 * @return: Content
	 * @author: zhoudongdong 2017年1月9日 下午2:05:17
	 */
	Content selectContentById(Integer cid);
	
	/**
	 * 根据父channel的code查询最热门的limit个content
	 * @Title: selectContentByChannelCode 
	 * @Description: TODO
	 * @param code
	 * @param limit
	 * @return
	 * @return: List<Content>
	 * @author: zhoudongdong 2017年2月8日 下午4:34:25
	 */
	List<Content> selectContentByChannelCode(@Param("code") String code,@Param("limit") Integer limit);
	
	/**
	 * 查询上一个
	 * @Title: selectContentPrev 
	 * @Description: TODO
	 * @param id
	 * @return
	 * @return: Content
	 * @author: zhoudongdong 2017年2月10日 上午9:43:36
	 */
	Content selectContentPrev(Integer id);
	
	/**
	 * 查询下一个
	 * @Title: selectContentNext 
	 * @Description: TODO
	 * @param id
	 * @return
	 * @return: Content
	 * @author: zhoudongdong 2017年2月10日 上午9:44:20
	 */
	Content selectContentNext(Integer id);
	
	/**
	 * 点击次数加1
	 * @Title: updateHitAdd 
	 * @Description: TODO
	 * @param id
	 * @return: void
	 * @author: zhoudongdong 2017年2月10日 上午10:59:34
	 */
	void updateHitAdd(Integer id);

	/**
	 * 批量删除数据
	 */
	void deleteByIds(@Param("ids") String[] ids);

	/**
	 * 查询 size 大小的内容
     */
	List<Content> selectContentBySize(@Param("size") int size);
	
}